Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: SSA globals in monomorphization and SSA gen #6985

Merged
merged 27 commits into from
Jan 10, 2025
Merged

Conversation

vezenovm
Copy link
Contributor

@vezenovm vezenovm commented Jan 8, 2025

Description

Problem*

Working towards #6801

Summary*

This PR does the initial work to move towards handling globals in SSA. Actually utilizing globals in Brillig gen will come in a follow-up PR. I wanted to split out this work for easier reviewing as all the globals work together will be a good amount of code.

I wanted to add globals to SSA without any major changes to our existing data structures and or having to thread lifetimes throughout our structures. In follow-up work we most likely will want to further abstract some our concepts such as the DataFlowGraph or pass a global context into all SSA functions. For now, I wanted to focus on minimal changes without causing regressions.

The main changes:

  1. During monomorphization we now keep track of globals and have a new Definition::Global. If we have a new global we monomorphize the global's expression but then wrap it in an ident with a Definition::Global. For closures we keep the old strategy of inlining the global during monomorphization.
  2. The SharedContext now contains a GlobalsContext
  3. The GlobalsContext re-uses the DataFlowGraph to build globals. The newly built globals are stored in a globals: BTreeMap<monomorphization::ast::GlobalId, Values> map to be accessed by the FunctionContext.
  4. Before performing any code gen for a function we full up the value IDs that are reserved for globals.
  5. A global is represented in a function's DFG simply with a Value::Global. When we see Value::Global it indicates we have a reserved value id and that we need to access some separate global context for the actual value. Currently, the only pass that makes use of this is inlining. We are currently still inlining all globals so that the globals work can be split up for easier reviewing.

Example SSA for the new global_var_regression_simple test (commenting out assert(!acc.lt(x)) for a simpler SSA):

SSA output with globals
After Initial SSA:
g0 = Field 1
g1 = make_array [Field 1, Field 1] : [Field; 2]
g2 = Field 0
g3 = make_array [Field 0, Field 0] : [Field; 2]
g4 = make_array [v1, v3] : [[Field; 2]; 2]

brillig(inline) fn main f0 {
  b0(v5: Field, v6: Field):
    v9 = allocate -> &mut Field
    store Field 0 at v9
    jmp b1(u32 0)
  b1(v7: u32):
    v13 = lt v7, u32 2
    jmpif v13 then: b3, else: b2
  b2():
    v14 = eq v5, v6
    v15 = not v14
    constrain v14 == u1 0
    call f1(v5, v6)
    return
  b3():
    jmp b4(u32 0)
  b4(v8: u32):
    v18 = lt v8, u32 2
    jmpif v18 then: b6, else: b5
  b5():
    v20 = add v7, u32 1
    jmp b1(v20)
  b6():
    v21 = load v9 -> Field
    v22 = array_get g4, index v7 -> [Field; 2]
    inc_rc v22
    v23 = array_get v22, index v8 -> Field
    v24 = add v21, v23
    store v24 at v9
    v25 = add v8, u32 1
    jmp b4(v25)
}
brillig(inline) fn dummy_again f1 {
  b0(v5: Field, v6: Field):
    v9 = allocate -> &mut Field
    store Field 0 at v9
    jmp b1(u32 0)
  b1(v7: u32):
    v13 = lt v7, u32 2
    jmpif v13 then: b3, else: b2
  b2():
    v14 = eq v5, v6
    v15 = not v14
    constrain v14 == u1 0
    return
  b3():
    jmp b4(u32 0)
  b4(v8: u32):
    v17 = lt v8, u32 2
    jmpif v17 then: b6, else: b5
  b5():
    v19 = add v7, u32 1
    jmp b1(v19)
  b6():
    v20 = load v9 -> Field
    v21 = array_get g4, index v7 -> [Field; 2]
    inc_rc v21
    v22 = array_get v21, index v8 -> Field
    v23 = add v20, v22
    store v23 at v9
    v24 = add v8, u32 1
    jmp b4(v24)
}

Additional Context

Actual implementation of globals and handling them as we do existing constants will come in followups. It may be helpful to wait for the PR with the Brillig gen implementation to see how globals will actually be used.

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Changes to Brillig bytecode sizes

Generated at commit: 2c3f7b9baeeb52d9903243aff5a25c92b5d1b24f, compared to commit: e71fcdfebd92c349d4b2f52d87ead2b18edfcd4a

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
bigint -12 ✅ -0.55%

Full diff report 👇
Program Brillig opcodes (+/-) %
bigint 2,153 (-12) -0.55%

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Execution Report

Program Execution Time
sha256_regression 0.055s
regression_4709 0.001s
ram_blowup_regression 0.576s
rollup-root 0.106s
rollup-block-merge 0.106s
rollup-base-public 1.246s
rollup-base-private 0.474s
private-kernel-tail 0.021s
private-kernel-reset 0.354s
private-kernel-inner 0.077s

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Compilation Report

Program Compilation Time
sha256_regression 1.316s
regression_4709 0.787s
ram_blowup_regression 18.220s
rollup-root 3.440s
rollup-block-merge 3.558s
rollup-base-public 39.960s
rollup-base-private 13.400s
private-kernel-tail 1.025s
private-kernel-reset 8.600s
private-kernel-inner 2.046s

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Compilation Memory Report

Program Peak Memory
keccak256 78.13M
workspace 123.89M
regression_4709 424.09M
ram_blowup_regression 1.58G
rollup-base-public 4.85G
rollup-base-private 1.26G
private-kernel-tail 207.14M
private-kernel-reset 730.52M
private-kernel-inner 294.37M

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Execution Memory Report

Program Peak Memory
keccak256 74.67M
workspace 123.79M
regression_4709 316.00M
ram_blowup_regression 512.42M
rollup-base-public 482.47M
rollup-base-private 328.60M
private-kernel-tail 180.95M
private-kernel-reset 249.60M
private-kernel-inner 209.79M

@TomAFrench
Copy link
Member

I'm sure you're thinking about this but looks like we don't have global arrays yet which I expect would be the biggest contributor here.

@vezenovm
Copy link
Contributor Author

vezenovm commented Jan 8, 2025

I'm sure you're thinking about this but looks like we don't have global arrays yet which I expect would be the biggest contributor here.

Are you looking at just Value::Global? This is simply a value to indicate we should look in a separate global context for the correct value. We do have global arrays as part of this work. GlobalsContext shows all the values we support building. I have yet to write out the description which will provide some more info.

@TomAFrench
Copy link
Member

Ah gotcha, I'm jumping the gun in that case.

@vezenovm vezenovm marked this pull request as ready for review January 8, 2025 18:53
Copy link
Contributor

@jfecher jfecher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly minor comments but the main item is avoiding duplication of codegen functions

compiler/noirc_evaluator/src/ssa/ir/printer.rs Outdated Show resolved Hide resolved
compiler/noirc_evaluator/src/ssa/ssa_gen/program.rs Outdated Show resolved Hide resolved
compiler/noirc_evaluator/src/ssa/ssa_gen/program.rs Outdated Show resolved Hide resolved
compiler/noirc_frontend/src/hir/comptime/value.rs Outdated Show resolved Hide resolved
compiler/noirc_frontend/src/monomorphization/mod.rs Outdated Show resolved Hide resolved
compiler/noirc_frontend/src/monomorphization/mod.rs Outdated Show resolved Hide resolved
compiler/noirc_evaluator/src/ssa/ir/value.rs Outdated Show resolved Hide resolved
compiler/noirc_evaluator/src/ssa/ssa_gen/context.rs Outdated Show resolved Hide resolved
@vezenovm vezenovm requested a review from jfecher January 9, 2025 21:17
@vezenovm vezenovm requested a review from TomAFrench January 10, 2025 17:48
@TomAFrench TomAFrench enabled auto-merge January 10, 2025 18:36
@TomAFrench
Copy link
Member

@jfecher

Copy link
Contributor

@jfecher jfecher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for the ssa-gen change

@TomAFrench TomAFrench added this pull request to the merge queue Jan 10, 2025
Merged via the queue into master with commit db28cb9 Jan 10, 2025
88 checks passed
@TomAFrench TomAFrench deleted the mv/ssa-globals-1 branch January 10, 2025 20:24
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 11, 2025
…ang/noir#6985)

feat!: disallow calling unconstrained functions outside of `unsafe` blocks and passing unconstrained functions in place of constrained functions (noir-lang/noir#6938)
chore: simplify a couple of enum variants (noir-lang/noir#7025)
chore: disallow inserting ACIR-only instructions into brillig functions (noir-lang/noir#7017)
feat: unchecked math operations in SSA (noir-lang/noir#7011)
chore: delete docs for versions which aren't used (noir-lang/noir#7020)
feat!: Disable mocks in `execute` (noir-lang/noir#6869)
chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014)
feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018)
chore: Add more Field use info (noir-lang/noir#7019)
fix: let static_assert fail with the provided message (noir-lang/noir#7005)
chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015)
chore: clarity fix in docs (noir-lang/noir#7016)
fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913)
feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901)
feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003)
chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999)
feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008)
chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007)
chore: Only resolved globals monomorphization (noir-lang/noir#7006)
chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004)
chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992)
fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972)
chore: mark casts as able to be deduplicated (noir-lang/noir#6996)
fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989)
chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988)
fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987)
chore: Use DFG in SSA printer (noir-lang/noir#6986)
chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 11, 2025
feat!: disallow calling unconstrained functions outside of `unsafe` blocks and passing unconstrained functions in place of constrained functions (noir-lang/noir#6938)
chore: simplify a couple of enum variants (noir-lang/noir#7025)
chore: disallow inserting ACIR-only instructions into brillig functions (noir-lang/noir#7017)
feat: unchecked math operations in SSA (noir-lang/noir#7011)
chore: delete docs for versions which aren't used (noir-lang/noir#7020)
feat!: Disable mocks in `execute` (noir-lang/noir#6869)
chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014)
feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018)
chore: Add more Field use info (noir-lang/noir#7019)
fix: let static_assert fail with the provided message (noir-lang/noir#7005)
chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015)
chore: clarity fix in docs (noir-lang/noir#7016)
fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913)
feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901)
feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003)
chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999)
feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008)
chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007)
chore: Only resolved globals monomorphization (noir-lang/noir#7006)
chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004)
chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992)
fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972)
chore: mark casts as able to be deduplicated (noir-lang/noir#6996)
fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989)
chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988)
fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987)
chore: Use DFG in SSA printer (noir-lang/noir#6986)
chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
rahul-kothari pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 15, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.70.0</summary>

##
[0.70.0](aztec-package-v0.69.1...aztec-package-v0.70.0)
(2025-01-15)


### Features

* Blob sink in sandbox without extra process
([#11032](#11032))
([4600f54](4600f54))
* Browser chunking
([#11102](#11102))
([393e843](393e843))


### Miscellaneous

* Greater stability at 1TPS
([#10981](#10981))
([1c23662](1c23662))
* Prover db config
([#11126](#11126))
([9d49393](9d49393)),
closes
[#10267](#10267)
* Rpc server cleanup & misc fixes
([#11145](#11145))
([8a927eb](8a927eb))
</details>

<details><summary>barretenberg.js: 0.70.0</summary>

##
[0.70.0](barretenberg.js-v0.69.1...barretenberg.js-v0.70.0)
(2025-01-15)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.70.0</summary>

##
[0.70.0](aztec-packages-v0.69.1...aztec-packages-v0.70.0)
(2025-01-15)


### ⚠ BREAKING CHANGES

* disallow calling unconstrained functions outside of `unsafe` blocks
and passing unconstrained functions in place of constrained functions
(noir-lang/noir#6938)
* Disable mocks in `execute`
(noir-lang/noir#6869)
* require trait primitive functions/calls to have their trait in scope
(noir-lang/noir#6901)
* Reserve `enum` and `match` keywords
(noir-lang/noir#6961)
* require trait method calls (`foo.bar()`) to have the trait in scope
(imported) (noir-lang/noir#6895)
* type-check trait default methods
(noir-lang/noir#6645)
* update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
* turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
* turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)

### Features

* `--pedantic-solving` flag
(noir-lang/noir#6716)
([3883a0e](3883a0e))
* 7 bit long `note_type_id`
([#10951](#10951))
([6fc5673](6fc5673))
* **avm2:** Avm redesign init
([#10906](#10906))
([231f017](231f017))
* Blob sink in sandbox without extra process
([#11032](#11032))
([4600f54](4600f54))
* Browser chunking
([#11102](#11102))
([393e843](393e843))
* Build blocks using txs with higher fee first
([#11093](#11093))
([def7cd7](def7cd7)),
closes
[#11084](#11084)
* **cli:** Add CLI option to filter by contract function name
(noir-lang/noir#7018)
([9189120](9189120))
* **comptime:** Implement to_be_bits and to_le_bits in the interpreter
(noir-lang/noir#7008)
([9189120](9189120))
* Contract class must be registered before deployment
([#10949](#10949))
([7176a70](7176a70))
* Dashboard in gcp
([#11201](#11201))
([2790bd7](2790bd7))
* Disable mocks in `execute`
(noir-lang/noir#6869)
([9189120](9189120))
* Disallow calling unconstrained functions outside of `unsafe` blocks
and passing unconstrained functions in place of constrained functions
(noir-lang/noir#6938)
([9189120](9189120))
* Don't report warnings for dependencies
(noir-lang/noir#6926)
([3883a0e](3883a0e))
* Don't simplify SSA instructions when creating them from a string
(noir-lang/noir#6948)
([3883a0e](3883a0e))
* Expose getL2ToL1Membership on the pxe
([#11215](#11215))
([ffd3625](ffd3625))
* Impl Default for U128 (noir-lang/noir#6984)
([3883a0e](3883a0e))
* Inject protocol nullifier conditionally
([#11155](#11155))
([93ade26](93ade26))
* Kickoff tube circuits at the beginning of proving job
([#11139](#11139))
([85d389f](85d389f)),
closes
[#10998](#10998)
* Lock on Nargo.toml on several nargo commands
(noir-lang/noir#6941)
([3883a0e](3883a0e))
* **lsp:** Use trait method docs for trait impl method docs on hover
(noir-lang/noir#7003)
([9189120](9189120))
* Monitor event loop lag
([#11127](#11127))
([422f125](422f125))
* Permutation argument optimizations
([#10960](#10960))
([de99603](de99603))
* PXE db contract store
([#10867](#10867))
([b5d51eb](b5d51eb))
* Require trait function calls (`Foo::bar()`) to have the trait in scope
(imported) (noir-lang/noir#6882)
([3883a0e](3883a0e))
* Require trait method calls (`foo.bar()`) to have the trait in scope
(imported) (noir-lang/noir#6895)
([3883a0e](3883a0e))
* Require trait primitive functions/calls to have their trait in scope
(noir-lang/noir#6901)
([9189120](9189120))
* Simulator split
([#11144](#11144))
([9b99126](9b99126))
* Single tx block root rollup
([#11096](#11096))
([bcc0168](bcc0168))
* SSA globals in monomorphization and SSA gen
(noir-lang/noir#6985)
([9189120](9189120))
* **ssa:** Immediately simplify away RefCount instructions in ACIR
functions (noir-lang/noir#6893)
([3883a0e](3883a0e))
* **test:** Enable the test fuzzer for Wasm
(noir-lang/noir#6835)
([3883a0e](3883a0e))
* Track nodejs runtime metrics
([#11160](#11160))
([1d24fab](1d24fab))
* Turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)
([3883a0e](3883a0e))
* Turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
([3883a0e](3883a0e))
* Type-check trait default methods
(noir-lang/noir#6645)
([3883a0e](3883a0e))
* Unchecked math operations in SSA
(noir-lang/noir#7011)
([9189120](9189120))
* Update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
([3883a0e](3883a0e))
* Use tail public inputs as transaction hash
([#11100](#11100))
([34be2c3](34be2c3))
* Validator deadline for reexecution
([#11050](#11050))
([1aa34e7](1aa34e7)),
closes
[#10959](#10959)


### Bug Fixes

* Added start/stop guards to running promise and serial queue
([#11120](#11120))
([23e642f](23e642f))
* Allow multiple trait impls for the same trait as long as one is in
scope (noir-lang/noir#6987)
([9189120](9189120))
* **avm:** AVM circuit fixes related calldata, returndata and call_ptr
([#11207](#11207))
([2f05dc0](2f05dc0))
* **avm:** Mac build
([#11195](#11195))
([c4f4452](c4f4452))
* **avm:** Mac build (retry)
([#11197](#11197))
([0a4b763](0a4b763))
* Aztec-spartan config var
([#11137](#11137))
([acbfad4](acbfad4))
* Blob fees & l1-publisher logging
([#11029](#11029))
([c2c0bc6](c2c0bc6))
* **bootstrap:** Don't download bad cache if unstaged changes
([#11198](#11198))
([2bd895b](2bd895b))
* **boxes:** Fix attempt 2
([#11175](#11175))
([e87b11a](e87b11a))
* Bump inotify limits on tester
([#11217](#11217))
([60bdf1d](60bdf1d))
* Do not emit range check for multiplication by bool
(noir-lang/noir#6983)
([3883a0e](3883a0e))
* Do not panic on indices which are not valid `u32`s
(noir-lang/noir#6976)
([3883a0e](3883a0e))
* Docs rebuild patterns
([#11191](#11191))
([1999990](1999990))
* Don't fail parsing macro if there are parser warnings
(noir-lang/noir#6969)
([3883a0e](3883a0e))
* Don't retransmit txs upon node restart
([#11123](#11123))
([39535c9](39535c9))
* Duplicate env vars
([#11166](#11166))
([2507b6f](2507b6f))
* Error on missing function parameters
(noir-lang/noir#6967)
([3883a0e](3883a0e))
* Get_next_power_exponent off by 1
([#11169](#11169))
([80ec19e](80ec19e))
* Let static_assert fail with the provided message
(noir-lang/noir#7005)
([9189120](9189120))
* Max_note_len computation
([#10438](#10438))
([099c17b](099c17b))
* Non-determinism from under constrained checks
(noir-lang/noir#6945)
([3883a0e](3883a0e))
* Prover node aborts execution at epoch end
([#11111](#11111))
([2a77616](2a77616)),
closes
[#10802](#10802)
* Prover node does not err upon an empty epoch
([#11204](#11204))
([2c3ab84](2c3ab84))
* Remove arch tag in sandbox images
([#11233](#11233))
([80a872d](80a872d))
* Remove max lookup table size constant (for now)
([#11095](#11095))
([7e9e268](7e9e268))
* Reproduce and fix bytecode blowup
(noir-lang/noir#6972)
([9189120](9189120))
* Require generic trait impls to be in scope to call them
(noir-lang/noir#6913)
([9189120](9189120))
* Restore upload_logs script in use by acir bench
([2d88497](2d88497))
* Return trait impl method as FuncId if there's only one
(noir-lang/noir#6989)
([9189120](9189120))
* Revert "chore: use L1 Tx Utils"
([#11167](#11167))
([f4e5c79](f4e5c79))
* Sequencer times out L1 tx at end of L2 slot
([#11112](#11112))
([1b88a34](1b88a34))
* Show output of `test_program_is_idempotent` on failure
(noir-lang/noir#6942)
([3883a0e](3883a0e))
* Start RC at 1 again (noir-lang/noir#6958)
([3883a0e](3883a0e))
* Underconstrained bug
([#11174](#11174))
([0b3088b](0b3088b))
* Update fs max user instances for k8s
([#11220](#11220))
([b42da6d](b42da6d))
* Use absolute path for docker bind in e2e-test
([f2885ec](f2885ec))
* Wrong module to lookup trait when using crate or super
(noir-lang/noir#6974)
([3883a0e](3883a0e))


### Miscellaneous

* Add cli option to specify withdrawer address in the add-l1-validator …
([#11199](#11199))
([107f175](107f175))
* Add memsuspend to parallel in bootstrap
([#11040](#11040))
([c78cb82](c78cb82))
* Add more Field use info (noir-lang/noir#7019)
([9189120](9189120))
* Add reproduction case for bignum test failure
(noir-lang/noir#6464)
([3883a0e](3883a0e))
* Add short circuit in ssa-gen for known if conditions
(noir-lang/noir#7007)
([9189120](9189120))
* Also print test output to stdout in CI
(noir-lang/noir#6930)
([3883a0e](3883a0e))
* **avm:** Fix mac build
([#11147](#11147))
([1775e53](1775e53))
* **avm:** Improve column stats
([#11135](#11135))
([535a14c](535a14c))
* **avm:** Re-enable bb-prover tests in CI, change some to
check-circuit-only, enable multi-enqueued call tests
([#11180](#11180))
([3092212](3092212))
* **avm:** Vm2 followup cleanup
([#11186](#11186))
([6de4013](6de4013))
* Block building benchmark via github-action-benchmark
([#11202](#11202))
([c107b6b](c107b6b)),
closes
[#11154](#11154)
* Bump `noir-gates-diff` (noir-lang/noir#6943)
([3883a0e](3883a0e))
* Bump `noir-gates-diff` (noir-lang/noir#6944)
([3883a0e](3883a0e))
* Bump `noir-gates-diff` (noir-lang/noir#6949)
([3883a0e](3883a0e))
* Bump arkworks to version `0.5.0`
(noir-lang/noir#6871)
([3883a0e](3883a0e))
* **ci:** Easier to use mac ci
([#11194](#11194))
([9ab4cee](9ab4cee))
* **ci:** Ensure that prover.toml files in protocol circuits are in sync
([#11141](#11141))
([db769bd](db769bd))
* **ci:** Fail properly in `external-repo-checks`
(noir-lang/noir#6988)
([9189120](9189120))
* **ci:** Try fix boxes-test
([#11162](#11162))
([a66349f](a66349f))
* Clarity fix in docs (noir-lang/noir#7016)
([9189120](9189120))
* Delete a bunch of dead code from `noirc_evaluator`
(noir-lang/noir#6939)
([3883a0e](3883a0e))
* Delete docs for versions which aren't used
(noir-lang/noir#7020)
([9189120](9189120))
* Disable reorg test
([#11176](#11176))
([78bec44](78bec44))
* Disallow inserting ACIR-only instructions into brillig functions
(noir-lang/noir#7017)
([9189120](9189120))
* **docs:** Backport 1.0.0-beta.0 doc fixes
(noir-lang/noir#7014)
([9189120](9189120))
* **docs:** Edit Aztec.nr Guide section
([#10866](#10866))
([4051ba8](4051ba8))
* **docs:** Remove node pages
([#11161](#11161))
([e494f6b](e494f6b))
* **docs:** Update tx concepts page
([#10947](#10947))
([d9d9798](d9d9798))
* Document aztec-nargo in readme
([#11173](#11173))
([927eabf](927eabf))
* Greater stability at 1TPS
([#10981](#10981))
([1c23662](1c23662))
* Jest reporters for CI
([#11125](#11125))
([90cd9d2](90cd9d2))
* Log number of instructions executed for call in AVM. Misc fix.
([#11110](#11110))
([44e01f4](44e01f4))
* Mark `aztec-nr` as expected to compile
(noir-lang/noir#7015)
([9189120](9189120))
* Mark casts as able to be deduplicated
(noir-lang/noir#6996)
([9189120](9189120))
* Missed test account retrieval simplification in one spot
([#11172](#11172))
([b72234e](b72234e))
* Move comment as part of
[#6945](#6945)
(noir-lang/noir#6959)
([3883a0e](3883a0e))
* Move witness computation into class plus some other cleanup
([#11140](#11140))
([d41e9ab](d41e9ab))
* Nuke unused `getSiblingPath` oracle
([#11090](#11090))
([36b640a](36b640a))
* Nuking mental model of "packing into a hash"
([#11200](#11200))
([e1ebcc0](e1ebcc0))
* Only resolved globals monomorphization
(noir-lang/noir#7006)
([9189120](9189120))
* Prover db config
([#11126](#11126))
([9d49393](9d49393)),
closes
[#10267](#10267)
* Redo typo PR by longxiangqiao
([#11109](#11109))
([b8ef30e](b8ef30e))
* Refactor `get_tx_effects_hash_input_helper`
([#11213](#11213))
([5becb99](5becb99))
* Refactor Solidity Transcript and improve error handling in sol_honk
flow
([#11158](#11158))
([58fdf87](58fdf87))
* Remove explicit collector address
([#11227](#11227))
([dfb0db5](dfb0db5))
* Remove resolve_is_unconstrained pass
(noir-lang/noir#7004)
([9189120](9189120))
* Removing noir bug workaround
([#10535](#10535))
([8be882f](8be882f))
* Replace relative paths to noir-protocol-circuits
([d8619fa](d8619fa))
* Replace relative paths to noir-protocol-circuits
([70cad1c](70cad1c))
* Replace relative paths to noir-protocol-circuits
([e962534](e962534))
* Replace relative paths to noir-protocol-circuits
([ba5a589](ba5a589))
* Replace relative paths to noir-protocol-circuits
([b7c3fa2](b7c3fa2))
* Replace relative paths to noir-protocol-circuits
([32840c6](32840c6))
* Require safety doc comment for unsafe instead of
`//[@safety](https://github.com/safety)`
(noir-lang/noir#6992)
([9189120](9189120))
* Reserve `enum` and `match` keywords
(noir-lang/noir#6961)
([9189120](9189120))
* Rpc server cleanup & misc fixes
([#11145](#11145))
([8a927eb](8a927eb))
* Sanity checking of proving job IDs
([#11134](#11134))
([61c3e95](61c3e95))
* Save kind smoke test logs as artifact
([#11212](#11212))
([1389a5b](1389a5b))
* Separate unconstrained functions during monomorphization
(noir-lang/noir#6894)
([3883a0e](3883a0e))
* Simplify a couple of enum variants
(noir-lang/noir#7025)
([9189120](9189120))
* Simplify boolean in a mul of a mul
(noir-lang/noir#6951)
([3883a0e](3883a0e))
* SmallSubgroupIPA tests
([#11106](#11106))
([f034e2a](f034e2a))
* **spartan:** Making the spartan script install jq
([#11231](#11231))
([7e628cc](7e628cc))
* Test:e2e defaults to no-docker
([#10966](#10966))
([15e0d71](15e0d71))
* Turn on averaging for protocol circuits metrics in CI
(noir-lang/noir#6999)
([9189120](9189120))
* Update aztec-spartan.sh script
([#11228](#11228))
([52b3a87](52b3a87))
* Use DFG in SSA printer (noir-lang/noir#6986)
([9189120](9189120))
* Use L1 Tx Utils
([#10759](#10759))
([ccf28f5](ccf28f5)),
closes
[#10464](#10464)
* Use logs for benchmarking
(noir-lang/noir#6911)
([3883a0e](3883a0e))
* VariableMerkleTree readability improvements
([#11165](#11165))
([010d1b0](010d1b0))
* Wait for ethereum in each pod
([#11238](#11238))
([9c08e00](9c08e00))


### Documentation

* Enable protocol specs for docs in dev mode
([#11219](#11219))
([10c8afe](10c8afe))
</details>

<details><summary>barretenberg: 0.70.0</summary>

##
[0.70.0](barretenberg-v0.69.1...barretenberg-v0.70.0)
(2025-01-15)


### Features

* **avm2:** Avm redesign init
([#10906](#10906))
([231f017](231f017))
* Permutation argument optimizations
([#10960](#10960))
([de99603](de99603))
* Use tail public inputs as transaction hash
([#11100](#11100))
([34be2c3](34be2c3))


### Bug Fixes

* **avm:** AVM circuit fixes related calldata, returndata and call_ptr
([#11207](#11207))
([2f05dc0](2f05dc0))
* **avm:** Mac build
([#11195](#11195))
([c4f4452](c4f4452))
* **avm:** Mac build (retry)
([#11197](#11197))
([0a4b763](0a4b763))
* **bootstrap:** Don't download bad cache if unstaged changes
([#11198](#11198))
([2bd895b](2bd895b))
* Remove max lookup table size constant (for now)
([#11095](#11095))
([7e9e268](7e9e268))


### Miscellaneous

* **avm:** Fix mac build
([#11147](#11147))
([1775e53](1775e53))
* **avm:** Improve column stats
([#11135](#11135))
([535a14c](535a14c))
* **avm:** Re-enable bb-prover tests in CI, change some to
check-circuit-only, enable multi-enqueued call tests
([#11180](#11180))
([3092212](3092212))
* **avm:** Vm2 followup cleanup
([#11186](#11186))
([6de4013](6de4013))
* **docs:** Update tx concepts page
([#10947](#10947))
([d9d9798](d9d9798))
* Move witness computation into class plus some other cleanup
([#11140](#11140))
([d41e9ab](d41e9ab))
* Redo typo PR by longxiangqiao
([#11109](#11109))
([b8ef30e](b8ef30e))
* Refactor Solidity Transcript and improve error handling in sol_honk
flow
([#11158](#11158))
([58fdf87](58fdf87))
* SmallSubgroupIPA tests
([#11106](#11106))
([f034e2a](f034e2a))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Jan 16, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.70.0</summary>

##
[0.70.0](AztecProtocol/aztec-packages@aztec-package-v0.69.1...aztec-package-v0.70.0)
(2025-01-15)


### Features

* Blob sink in sandbox without extra process
([#11032](AztecProtocol/aztec-packages#11032))
([4600f54](AztecProtocol/aztec-packages@4600f54))
* Browser chunking
([#11102](AztecProtocol/aztec-packages#11102))
([393e843](AztecProtocol/aztec-packages@393e843))


### Miscellaneous

* Greater stability at 1TPS
([#10981](AztecProtocol/aztec-packages#10981))
([1c23662](AztecProtocol/aztec-packages@1c23662))
* Prover db config
([#11126](AztecProtocol/aztec-packages#11126))
([9d49393](AztecProtocol/aztec-packages@9d49393)),
closes
[#10267](AztecProtocol/aztec-packages#10267)
* Rpc server cleanup & misc fixes
([#11145](AztecProtocol/aztec-packages#11145))
([8a927eb](AztecProtocol/aztec-packages@8a927eb))
</details>

<details><summary>barretenberg.js: 0.70.0</summary>

##
[0.70.0](AztecProtocol/aztec-packages@barretenberg.js-v0.69.1...barretenberg.js-v0.70.0)
(2025-01-15)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.70.0</summary>

##
[0.70.0](AztecProtocol/aztec-packages@aztec-packages-v0.69.1...aztec-packages-v0.70.0)
(2025-01-15)


### ⚠ BREAKING CHANGES

* disallow calling unconstrained functions outside of `unsafe` blocks
and passing unconstrained functions in place of constrained functions
(noir-lang/noir#6938)
* Disable mocks in `execute`
(noir-lang/noir#6869)
* require trait primitive functions/calls to have their trait in scope
(noir-lang/noir#6901)
* Reserve `enum` and `match` keywords
(noir-lang/noir#6961)
* require trait method calls (`foo.bar()`) to have the trait in scope
(imported) (noir-lang/noir#6895)
* type-check trait default methods
(noir-lang/noir#6645)
* update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
* turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
* turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)

### Features

* `--pedantic-solving` flag
(noir-lang/noir#6716)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* 7 bit long `note_type_id`
([#10951](AztecProtocol/aztec-packages#10951))
([6fc5673](AztecProtocol/aztec-packages@6fc5673))
* **avm2:** Avm redesign init
([#10906](AztecProtocol/aztec-packages#10906))
([231f017](AztecProtocol/aztec-packages@231f017))
* Blob sink in sandbox without extra process
([#11032](AztecProtocol/aztec-packages#11032))
([4600f54](AztecProtocol/aztec-packages@4600f54))
* Browser chunking
([#11102](AztecProtocol/aztec-packages#11102))
([393e843](AztecProtocol/aztec-packages@393e843))
* Build blocks using txs with higher fee first
([#11093](AztecProtocol/aztec-packages#11093))
([def7cd7](AztecProtocol/aztec-packages@def7cd7)),
closes
[#11084](AztecProtocol/aztec-packages#11084)
* **cli:** Add CLI option to filter by contract function name
(noir-lang/noir#7018)
([9189120](AztecProtocol/aztec-packages@9189120))
* **comptime:** Implement to_be_bits and to_le_bits in the interpreter
(noir-lang/noir#7008)
([9189120](AztecProtocol/aztec-packages@9189120))
* Contract class must be registered before deployment
([#10949](AztecProtocol/aztec-packages#10949))
([7176a70](AztecProtocol/aztec-packages@7176a70))
* Dashboard in gcp
([#11201](AztecProtocol/aztec-packages#11201))
([2790bd7](AztecProtocol/aztec-packages@2790bd7))
* Disable mocks in `execute`
(noir-lang/noir#6869)
([9189120](AztecProtocol/aztec-packages@9189120))
* Disallow calling unconstrained functions outside of `unsafe` blocks
and passing unconstrained functions in place of constrained functions
(noir-lang/noir#6938)
([9189120](AztecProtocol/aztec-packages@9189120))
* Don't report warnings for dependencies
(noir-lang/noir#6926)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Don't simplify SSA instructions when creating them from a string
(noir-lang/noir#6948)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Expose getL2ToL1Membership on the pxe
([#11215](AztecProtocol/aztec-packages#11215))
([ffd3625](AztecProtocol/aztec-packages@ffd3625))
* Impl Default for U128 (noir-lang/noir#6984)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Inject protocol nullifier conditionally
([#11155](AztecProtocol/aztec-packages#11155))
([93ade26](AztecProtocol/aztec-packages@93ade26))
* Kickoff tube circuits at the beginning of proving job
([#11139](AztecProtocol/aztec-packages#11139))
([85d389f](AztecProtocol/aztec-packages@85d389f)),
closes
[#10998](AztecProtocol/aztec-packages#10998)
* Lock on Nargo.toml on several nargo commands
(noir-lang/noir#6941)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* **lsp:** Use trait method docs for trait impl method docs on hover
(noir-lang/noir#7003)
([9189120](AztecProtocol/aztec-packages@9189120))
* Monitor event loop lag
([#11127](AztecProtocol/aztec-packages#11127))
([422f125](AztecProtocol/aztec-packages@422f125))
* Permutation argument optimizations
([#10960](AztecProtocol/aztec-packages#10960))
([de99603](AztecProtocol/aztec-packages@de99603))
* PXE db contract store
([#10867](AztecProtocol/aztec-packages#10867))
([b5d51eb](AztecProtocol/aztec-packages@b5d51eb))
* Require trait function calls (`Foo::bar()`) to have the trait in scope
(imported) (noir-lang/noir#6882)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Require trait method calls (`foo.bar()`) to have the trait in scope
(imported) (noir-lang/noir#6895)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Require trait primitive functions/calls to have their trait in scope
(noir-lang/noir#6901)
([9189120](AztecProtocol/aztec-packages@9189120))
* Simulator split
([#11144](AztecProtocol/aztec-packages#11144))
([9b99126](AztecProtocol/aztec-packages@9b99126))
* Single tx block root rollup
([#11096](AztecProtocol/aztec-packages#11096))
([bcc0168](AztecProtocol/aztec-packages@bcc0168))
* SSA globals in monomorphization and SSA gen
(noir-lang/noir#6985)
([9189120](AztecProtocol/aztec-packages@9189120))
* **ssa:** Immediately simplify away RefCount instructions in ACIR
functions (noir-lang/noir#6893)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* **test:** Enable the test fuzzer for Wasm
(noir-lang/noir#6835)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Track nodejs runtime metrics
([#11160](AztecProtocol/aztec-packages#11160))
([1d24fab](AztecProtocol/aztec-packages@1d24fab))
* Turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Type-check trait default methods
(noir-lang/noir#6645)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Unchecked math operations in SSA
(noir-lang/noir#7011)
([9189120](AztecProtocol/aztec-packages@9189120))
* Update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Use tail public inputs as transaction hash
([#11100](AztecProtocol/aztec-packages#11100))
([34be2c3](AztecProtocol/aztec-packages@34be2c3))
* Validator deadline for reexecution
([#11050](AztecProtocol/aztec-packages#11050))
([1aa34e7](AztecProtocol/aztec-packages@1aa34e7)),
closes
[#10959](AztecProtocol/aztec-packages#10959)


### Bug Fixes

* Added start/stop guards to running promise and serial queue
([#11120](AztecProtocol/aztec-packages#11120))
([23e642f](AztecProtocol/aztec-packages@23e642f))
* Allow multiple trait impls for the same trait as long as one is in
scope (noir-lang/noir#6987)
([9189120](AztecProtocol/aztec-packages@9189120))
* **avm:** AVM circuit fixes related calldata, returndata and call_ptr
([#11207](AztecProtocol/aztec-packages#11207))
([2f05dc0](AztecProtocol/aztec-packages@2f05dc0))
* **avm:** Mac build
([#11195](AztecProtocol/aztec-packages#11195))
([c4f4452](AztecProtocol/aztec-packages@c4f4452))
* **avm:** Mac build (retry)
([#11197](AztecProtocol/aztec-packages#11197))
([0a4b763](AztecProtocol/aztec-packages@0a4b763))
* Aztec-spartan config var
([#11137](AztecProtocol/aztec-packages#11137))
([acbfad4](AztecProtocol/aztec-packages@acbfad4))
* Blob fees & l1-publisher logging
([#11029](AztecProtocol/aztec-packages#11029))
([c2c0bc6](AztecProtocol/aztec-packages@c2c0bc6))
* **bootstrap:** Don't download bad cache if unstaged changes
([#11198](AztecProtocol/aztec-packages#11198))
([2bd895b](AztecProtocol/aztec-packages@2bd895b))
* **boxes:** Fix attempt 2
([#11175](AztecProtocol/aztec-packages#11175))
([e87b11a](AztecProtocol/aztec-packages@e87b11a))
* Bump inotify limits on tester
([#11217](AztecProtocol/aztec-packages#11217))
([60bdf1d](AztecProtocol/aztec-packages@60bdf1d))
* Do not emit range check for multiplication by bool
(noir-lang/noir#6983)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Do not panic on indices which are not valid `u32`s
(noir-lang/noir#6976)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Docs rebuild patterns
([#11191](AztecProtocol/aztec-packages#11191))
([1999990](AztecProtocol/aztec-packages@1999990))
* Don't fail parsing macro if there are parser warnings
(noir-lang/noir#6969)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Don't retransmit txs upon node restart
([#11123](AztecProtocol/aztec-packages#11123))
([39535c9](AztecProtocol/aztec-packages@39535c9))
* Duplicate env vars
([#11166](AztecProtocol/aztec-packages#11166))
([2507b6f](AztecProtocol/aztec-packages@2507b6f))
* Error on missing function parameters
(noir-lang/noir#6967)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Get_next_power_exponent off by 1
([#11169](AztecProtocol/aztec-packages#11169))
([80ec19e](AztecProtocol/aztec-packages@80ec19e))
* Let static_assert fail with the provided message
(noir-lang/noir#7005)
([9189120](AztecProtocol/aztec-packages@9189120))
* Max_note_len computation
([#10438](AztecProtocol/aztec-packages#10438))
([099c17b](AztecProtocol/aztec-packages@099c17b))
* Non-determinism from under constrained checks
(noir-lang/noir#6945)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Prover node aborts execution at epoch end
([#11111](AztecProtocol/aztec-packages#11111))
([2a77616](AztecProtocol/aztec-packages@2a77616)),
closes
[#10802](AztecProtocol/aztec-packages#10802)
* Prover node does not err upon an empty epoch
([#11204](AztecProtocol/aztec-packages#11204))
([2c3ab84](AztecProtocol/aztec-packages@2c3ab84))
* Remove arch tag in sandbox images
([#11233](AztecProtocol/aztec-packages#11233))
([80a872d](AztecProtocol/aztec-packages@80a872d))
* Remove max lookup table size constant (for now)
([#11095](AztecProtocol/aztec-packages#11095))
([7e9e268](AztecProtocol/aztec-packages@7e9e268))
* Reproduce and fix bytecode blowup
(noir-lang/noir#6972)
([9189120](AztecProtocol/aztec-packages@9189120))
* Require generic trait impls to be in scope to call them
(noir-lang/noir#6913)
([9189120](AztecProtocol/aztec-packages@9189120))
* Restore upload_logs script in use by acir bench
([2d88497](AztecProtocol/aztec-packages@2d88497))
* Return trait impl method as FuncId if there's only one
(noir-lang/noir#6989)
([9189120](AztecProtocol/aztec-packages@9189120))
* Revert "chore: use L1 Tx Utils"
([#11167](AztecProtocol/aztec-packages#11167))
([f4e5c79](AztecProtocol/aztec-packages@f4e5c79))
* Sequencer times out L1 tx at end of L2 slot
([#11112](AztecProtocol/aztec-packages#11112))
([1b88a34](AztecProtocol/aztec-packages@1b88a34))
* Show output of `test_program_is_idempotent` on failure
(noir-lang/noir#6942)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Start RC at 1 again (noir-lang/noir#6958)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Underconstrained bug
([#11174](AztecProtocol/aztec-packages#11174))
([0b3088b](AztecProtocol/aztec-packages@0b3088b))
* Update fs max user instances for k8s
([#11220](AztecProtocol/aztec-packages#11220))
([b42da6d](AztecProtocol/aztec-packages@b42da6d))
* Use absolute path for docker bind in e2e-test
([f2885ec](AztecProtocol/aztec-packages@f2885ec))
* Wrong module to lookup trait when using crate or super
(noir-lang/noir#6974)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))


### Miscellaneous

* Add cli option to specify withdrawer address in the add-l1-validator …
([#11199](AztecProtocol/aztec-packages#11199))
([107f175](AztecProtocol/aztec-packages@107f175))
* Add memsuspend to parallel in bootstrap
([#11040](AztecProtocol/aztec-packages#11040))
([c78cb82](AztecProtocol/aztec-packages@c78cb82))
* Add more Field use info (noir-lang/noir#7019)
([9189120](AztecProtocol/aztec-packages@9189120))
* Add reproduction case for bignum test failure
(noir-lang/noir#6464)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Add short circuit in ssa-gen for known if conditions
(noir-lang/noir#7007)
([9189120](AztecProtocol/aztec-packages@9189120))
* Also print test output to stdout in CI
(noir-lang/noir#6930)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* **avm:** Fix mac build
([#11147](AztecProtocol/aztec-packages#11147))
([1775e53](AztecProtocol/aztec-packages@1775e53))
* **avm:** Improve column stats
([#11135](AztecProtocol/aztec-packages#11135))
([535a14c](AztecProtocol/aztec-packages@535a14c))
* **avm:** Re-enable bb-prover tests in CI, change some to
check-circuit-only, enable multi-enqueued call tests
([#11180](AztecProtocol/aztec-packages#11180))
([3092212](AztecProtocol/aztec-packages@3092212))
* **avm:** Vm2 followup cleanup
([#11186](AztecProtocol/aztec-packages#11186))
([6de4013](AztecProtocol/aztec-packages@6de4013))
* Block building benchmark via github-action-benchmark
([#11202](AztecProtocol/aztec-packages#11202))
([c107b6b](AztecProtocol/aztec-packages@c107b6b)),
closes
[#11154](AztecProtocol/aztec-packages#11154)
* Bump `noir-gates-diff` (noir-lang/noir#6943)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Bump `noir-gates-diff` (noir-lang/noir#6944)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Bump `noir-gates-diff` (noir-lang/noir#6949)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Bump arkworks to version `0.5.0`
(noir-lang/noir#6871)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* **ci:** Easier to use mac ci
([#11194](AztecProtocol/aztec-packages#11194))
([9ab4cee](AztecProtocol/aztec-packages@9ab4cee))
* **ci:** Ensure that prover.toml files in protocol circuits are in sync
([#11141](AztecProtocol/aztec-packages#11141))
([db769bd](AztecProtocol/aztec-packages@db769bd))
* **ci:** Fail properly in `external-repo-checks`
(noir-lang/noir#6988)
([9189120](AztecProtocol/aztec-packages@9189120))
* **ci:** Try fix boxes-test
([#11162](AztecProtocol/aztec-packages#11162))
([a66349f](AztecProtocol/aztec-packages@a66349f))
* Clarity fix in docs (noir-lang/noir#7016)
([9189120](AztecProtocol/aztec-packages@9189120))
* Delete a bunch of dead code from `noirc_evaluator`
(noir-lang/noir#6939)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Delete docs for versions which aren't used
(noir-lang/noir#7020)
([9189120](AztecProtocol/aztec-packages@9189120))
* Disable reorg test
([#11176](AztecProtocol/aztec-packages#11176))
([78bec44](AztecProtocol/aztec-packages@78bec44))
* Disallow inserting ACIR-only instructions into brillig functions
(noir-lang/noir#7017)
([9189120](AztecProtocol/aztec-packages@9189120))
* **docs:** Backport 1.0.0-beta.0 doc fixes
(noir-lang/noir#7014)
([9189120](AztecProtocol/aztec-packages@9189120))
* **docs:** Edit Aztec.nr Guide section
([#10866](AztecProtocol/aztec-packages#10866))
([4051ba8](AztecProtocol/aztec-packages@4051ba8))
* **docs:** Remove node pages
([#11161](AztecProtocol/aztec-packages#11161))
([e494f6b](AztecProtocol/aztec-packages@e494f6b))
* **docs:** Update tx concepts page
([#10947](AztecProtocol/aztec-packages#10947))
([d9d9798](AztecProtocol/aztec-packages@d9d9798))
* Document aztec-nargo in readme
([#11173](AztecProtocol/aztec-packages#11173))
([927eabf](AztecProtocol/aztec-packages@927eabf))
* Greater stability at 1TPS
([#10981](AztecProtocol/aztec-packages#10981))
([1c23662](AztecProtocol/aztec-packages@1c23662))
* Jest reporters for CI
([#11125](AztecProtocol/aztec-packages#11125))
([90cd9d2](AztecProtocol/aztec-packages@90cd9d2))
* Log number of instructions executed for call in AVM. Misc fix.
([#11110](AztecProtocol/aztec-packages#11110))
([44e01f4](AztecProtocol/aztec-packages@44e01f4))
* Mark `aztec-nr` as expected to compile
(noir-lang/noir#7015)
([9189120](AztecProtocol/aztec-packages@9189120))
* Mark casts as able to be deduplicated
(noir-lang/noir#6996)
([9189120](AztecProtocol/aztec-packages@9189120))
* Missed test account retrieval simplification in one spot
([#11172](AztecProtocol/aztec-packages#11172))
([b72234e](AztecProtocol/aztec-packages@b72234e))
* Move comment as part of
[#6945](AztecProtocol/aztec-packages#6945)
(noir-lang/noir#6959)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Move witness computation into class plus some other cleanup
([#11140](AztecProtocol/aztec-packages#11140))
([d41e9ab](AztecProtocol/aztec-packages@d41e9ab))
* Nuke unused `getSiblingPath` oracle
([#11090](AztecProtocol/aztec-packages#11090))
([36b640a](AztecProtocol/aztec-packages@36b640a))
* Nuking mental model of "packing into a hash"
([#11200](AztecProtocol/aztec-packages#11200))
([e1ebcc0](AztecProtocol/aztec-packages@e1ebcc0))
* Only resolved globals monomorphization
(noir-lang/noir#7006)
([9189120](AztecProtocol/aztec-packages@9189120))
* Prover db config
([#11126](AztecProtocol/aztec-packages#11126))
([9d49393](AztecProtocol/aztec-packages@9d49393)),
closes
[#10267](AztecProtocol/aztec-packages#10267)
* Redo typo PR by longxiangqiao
([#11109](AztecProtocol/aztec-packages#11109))
([b8ef30e](AztecProtocol/aztec-packages@b8ef30e))
* Refactor `get_tx_effects_hash_input_helper`
([#11213](AztecProtocol/aztec-packages#11213))
([5becb99](AztecProtocol/aztec-packages@5becb99))
* Refactor Solidity Transcript and improve error handling in sol_honk
flow
([#11158](AztecProtocol/aztec-packages#11158))
([58fdf87](AztecProtocol/aztec-packages@58fdf87))
* Remove explicit collector address
([#11227](AztecProtocol/aztec-packages#11227))
([dfb0db5](AztecProtocol/aztec-packages@dfb0db5))
* Remove resolve_is_unconstrained pass
(noir-lang/noir#7004)
([9189120](AztecProtocol/aztec-packages@9189120))
* Removing noir bug workaround
([#10535](AztecProtocol/aztec-packages#10535))
([8be882f](AztecProtocol/aztec-packages@8be882f))
* Replace relative paths to noir-protocol-circuits
([d8619fa](AztecProtocol/aztec-packages@d8619fa))
* Replace relative paths to noir-protocol-circuits
([70cad1c](AztecProtocol/aztec-packages@70cad1c))
* Replace relative paths to noir-protocol-circuits
([e962534](AztecProtocol/aztec-packages@e962534))
* Replace relative paths to noir-protocol-circuits
([ba5a589](AztecProtocol/aztec-packages@ba5a589))
* Replace relative paths to noir-protocol-circuits
([b7c3fa2](AztecProtocol/aztec-packages@b7c3fa2))
* Replace relative paths to noir-protocol-circuits
([32840c6](AztecProtocol/aztec-packages@32840c6))
* Require safety doc comment for unsafe instead of
`//[@safety](https://github.com/safety)`
(noir-lang/noir#6992)
([9189120](AztecProtocol/aztec-packages@9189120))
* Reserve `enum` and `match` keywords
(noir-lang/noir#6961)
([9189120](AztecProtocol/aztec-packages@9189120))
* Rpc server cleanup & misc fixes
([#11145](AztecProtocol/aztec-packages#11145))
([8a927eb](AztecProtocol/aztec-packages@8a927eb))
* Sanity checking of proving job IDs
([#11134](AztecProtocol/aztec-packages#11134))
([61c3e95](AztecProtocol/aztec-packages@61c3e95))
* Save kind smoke test logs as artifact
([#11212](AztecProtocol/aztec-packages#11212))
([1389a5b](AztecProtocol/aztec-packages@1389a5b))
* Separate unconstrained functions during monomorphization
(noir-lang/noir#6894)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Simplify a couple of enum variants
(noir-lang/noir#7025)
([9189120](AztecProtocol/aztec-packages@9189120))
* Simplify boolean in a mul of a mul
(noir-lang/noir#6951)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* SmallSubgroupIPA tests
([#11106](AztecProtocol/aztec-packages#11106))
([f034e2a](AztecProtocol/aztec-packages@f034e2a))
* **spartan:** Making the spartan script install jq
([#11231](AztecProtocol/aztec-packages#11231))
([7e628cc](AztecProtocol/aztec-packages@7e628cc))
* Test:e2e defaults to no-docker
([#10966](AztecProtocol/aztec-packages#10966))
([15e0d71](AztecProtocol/aztec-packages@15e0d71))
* Turn on averaging for protocol circuits metrics in CI
(noir-lang/noir#6999)
([9189120](AztecProtocol/aztec-packages@9189120))
* Update aztec-spartan.sh script
([#11228](AztecProtocol/aztec-packages#11228))
([52b3a87](AztecProtocol/aztec-packages@52b3a87))
* Use DFG in SSA printer (noir-lang/noir#6986)
([9189120](AztecProtocol/aztec-packages@9189120))
* Use L1 Tx Utils
([#10759](AztecProtocol/aztec-packages#10759))
([ccf28f5](AztecProtocol/aztec-packages@ccf28f5)),
closes
[#10464](AztecProtocol/aztec-packages#10464)
* Use logs for benchmarking
(noir-lang/noir#6911)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* VariableMerkleTree readability improvements
([#11165](AztecProtocol/aztec-packages#11165))
([010d1b0](AztecProtocol/aztec-packages@010d1b0))
* Wait for ethereum in each pod
([#11238](AztecProtocol/aztec-packages#11238))
([9c08e00](AztecProtocol/aztec-packages@9c08e00))


### Documentation

* Enable protocol specs for docs in dev mode
([#11219](AztecProtocol/aztec-packages#11219))
([10c8afe](AztecProtocol/aztec-packages@10c8afe))
</details>

<details><summary>barretenberg: 0.70.0</summary>

##
[0.70.0](AztecProtocol/aztec-packages@barretenberg-v0.69.1...barretenberg-v0.70.0)
(2025-01-15)


### Features

* **avm2:** Avm redesign init
([#10906](AztecProtocol/aztec-packages#10906))
([231f017](AztecProtocol/aztec-packages@231f017))
* Permutation argument optimizations
([#10960](AztecProtocol/aztec-packages#10960))
([de99603](AztecProtocol/aztec-packages@de99603))
* Use tail public inputs as transaction hash
([#11100](AztecProtocol/aztec-packages#11100))
([34be2c3](AztecProtocol/aztec-packages@34be2c3))


### Bug Fixes

* **avm:** AVM circuit fixes related calldata, returndata and call_ptr
([#11207](AztecProtocol/aztec-packages#11207))
([2f05dc0](AztecProtocol/aztec-packages@2f05dc0))
* **avm:** Mac build
([#11195](AztecProtocol/aztec-packages#11195))
([c4f4452](AztecProtocol/aztec-packages@c4f4452))
* **avm:** Mac build (retry)
([#11197](AztecProtocol/aztec-packages#11197))
([0a4b763](AztecProtocol/aztec-packages@0a4b763))
* **bootstrap:** Don't download bad cache if unstaged changes
([#11198](AztecProtocol/aztec-packages#11198))
([2bd895b](AztecProtocol/aztec-packages@2bd895b))
* Remove max lookup table size constant (for now)
([#11095](AztecProtocol/aztec-packages#11095))
([7e9e268](AztecProtocol/aztec-packages@7e9e268))


### Miscellaneous

* **avm:** Fix mac build
([#11147](AztecProtocol/aztec-packages#11147))
([1775e53](AztecProtocol/aztec-packages@1775e53))
* **avm:** Improve column stats
([#11135](AztecProtocol/aztec-packages#11135))
([535a14c](AztecProtocol/aztec-packages@535a14c))
* **avm:** Re-enable bb-prover tests in CI, change some to
check-circuit-only, enable multi-enqueued call tests
([#11180](AztecProtocol/aztec-packages#11180))
([3092212](AztecProtocol/aztec-packages@3092212))
* **avm:** Vm2 followup cleanup
([#11186](AztecProtocol/aztec-packages#11186))
([6de4013](AztecProtocol/aztec-packages@6de4013))
* **docs:** Update tx concepts page
([#10947](AztecProtocol/aztec-packages#10947))
([d9d9798](AztecProtocol/aztec-packages@d9d9798))
* Move witness computation into class plus some other cleanup
([#11140](AztecProtocol/aztec-packages#11140))
([d41e9ab](AztecProtocol/aztec-packages@d41e9ab))
* Redo typo PR by longxiangqiao
([#11109](AztecProtocol/aztec-packages#11109))
([b8ef30e](AztecProtocol/aztec-packages@b8ef30e))
* Refactor Solidity Transcript and improve error handling in sol_honk
flow
([#11158](AztecProtocol/aztec-packages#11158))
([58fdf87](AztecProtocol/aztec-packages@58fdf87))
* SmallSubgroupIPA tests
([#11106](AztecProtocol/aztec-packages#11106))
([f034e2a](AztecProtocol/aztec-packages@f034e2a))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants